# -*- coding: utf-8 -*-
# @File  : test.py
# @Author: zbh
# @Date  : 2025/6/6_10:04


from sqlalchemy import create_engine, Column, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

# 创建数据库连接
engine = create_engine(
    'oracle+cx_oracle://ACPBOOT:ACPBOOT@192.168.99.105:15210/ORCL',
    echo=True  # 打印执行的 SQL 语句（调试用）
)

# 定义模型类（对应数据库表）
Base = declarative_base()


class Product(Base):
    __tablename__ = 'T_PA_PRODUCT'

    FID = Column(String, primary_key=True)  # 根据实际表结构调整字段名和类型
    FNAME = Column(String)  # 根据实际表结构调整字段名和类型

    # 其他字段...

    def __repr__(self):
        return f"<Product(FID='{self.FID}', FNAME='{self.FNAME}')>"


# 创建会话
Session = sessionmaker(bind=engine)
session = Session()

# 执行模糊查询（等价于：SELECT * FROM T_PA_PRODUCT WHERE FNAME LIKE '%zbh%'）
products = session.query(Product).filter(Product.FNAME.like('%zbh%')).all()

# 打印查询结果
for product in products:
    print(f"ID: {product.FID}, 名称: {product.FNAME}")

# 关闭会话
session.close()